<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content=
    "application/xhtml+xml; charset=iso-8859-1" />
    <title>
      Building Plasma 5
    </title>
    <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
    <meta name="generator" content="DocBook XSL Stylesheets V1.78.1" />
    <link rel="stylesheet" href="../stylesheets/lfs-print.css" type=
    "text/css" media="print" />
  </head>
  <body class="blfs" id="blfs-2020-04-02">
    <div class="navheader">
      <h4>
        Beyond Linux<sup>�</sup> From Scratch <span class="phrase">(System
        V</span> Edition) - Version 2020-04-02
      </h4>
      <h3>
        Chapter&nbsp;32.&nbsp;KDE Plasma 5
      </h3>
      <ul>
        <li class="prev">
          <a accesskey="p" href="plasma5.html" title="KDE Plasma 5">Prev</a>
          <p>
            KDE Plasma 5
          </p>
        </li>
        <li class="next">
          <a accesskey="n" href="../gnome/gnome.html" title="GNOME">Next</a>
          <p>
            GNOME
          </p>
        </li>
        <li class="up">
          <a accesskey="u" href="plasma5.html" title=
          "Chapter&nbsp;32.&nbsp;KDE Plasma 5">Up</a>
        </li>
        <li class="home">
          <a accesskey="h" href="../index.html" title=
          "Beyond Linux� From Scratch     (System V Edition) - Version 2020-04-02">
          Home</a>
        </li>
      </ul>
    </div>
    <div class="sect1" lang="en" xml:lang="en">
      <h1 class="sect1">
        <a id="plasma5-build" name="plasma5-build"></a>Building Plasma 5
      </h1>
      <p>
        KDE Plasma 5 is a collection of packages based on top of KDE
        Frameworks 5 and QML. They implement the KDE Display Environment
        (Plasma 5).
      </p>
      <p>
        This package is known to build and work properly using an LFS-9.1
        platform.
      </p>
      <p>
        The instructions below build all of the Plasma 5 packages in one step
        by using a bash script.
      </p>
      <h3>
        Package Information
      </h3>
      <div class="itemizedlist">
        <ul class="compact">
          <li class="listitem">
            <p>
              Download (HTTP): <a class="ulink" href=
              "http://download.kde.org/stable/plasma/5.18.1">http://download.kde.org/stable/plasma/5.18.1</a>
            </p>
          </li>
          <li class="listitem">
            <p>
              Download MD5 sum: See Below
            </p>
          </li>
          <li class="listitem">
            <p>
              Download size: 108 MB
            </p>
          </li>
          <li class="listitem">
            <p>
              Estimated disk space required: 1.2 GB (294 MB installed)
            </p>
          </li>
          <li class="listitem">
            <p>
              Estimated build time: 17 SBU (using parallelism=4)
            </p>
          </li>
        </ul>
      </div>
      <h3>
        Plasma 5 Dependencies
      </h3>
      <h4>
        Required
      </h4>
      <p class="required">
        <a class="xref" href="../gnome/GConf.html" title=
        "GConf-3.2.6">GConf-3.2.6</a>, <a class="xref" href="../x/gtk2.html"
        title="GTK+-2.24.32">GTK+-2.24.32</a>, <a class="xref" href=
        "../x/gtk3.html" title="GTK+-3.24.16">GTK+-3.24.16</a>, <a class=
        "xref" href="krameworks5.html" title=
        "Building KDE Frameworks 5 (KF5)">KDE Frameworks-5.67.0</a>,
        <a class="xref" href="../postlfs/libpwquality.html" title=
        "libpwquality-1.4.2">libpwquality-1.4.2</a>, <a class="xref" href=
        "../general/libxkbcommon.html" title=
        "libxkbcommon-0.10.0">libxkbcommon-0.10.0</a>, <a class="xref" href=
        "../x/mesa.html" title="Mesa-20.0.2">Mesa-20.0.2</a> built with
        <a class="xref" href="../general/wayland.html" title=
        "Wayland-1.18.0">Wayland-1.18.0</a>, <a class="xref" href=
        "../basicnet/networkmanager.html" title=
        "NetworkManager-1.22.10">NetworkManager-1.22.10</a>, <a class="xref"
        href="../multimedia/pipewire.html" title=
        "Pipewire-0.3.2">pipewire-0.3.2</a>, <a class="xref" href=
        "../multimedia/pulseaudio.html" title=
        "PulseAudio-13.0">PulseAudio-13.0</a>, <a class="xref" href=
        "../general/qca.html" title="Qca-2.3.0">qca-2.3.0</a>, <a class=
        "xref" href="../general/sassc.html" title=
        "sassc-3.6.1">sassc-3.6.1</a>, <a class="xref" href=
        "../multimedia/taglib.html" title="Taglib-1.11.1">taglib-1.11.1</a>,
        and <a class="xref" href="../x/xcb-util-cursor.html" title=
        "xcb-util-cursor-0.1.3">xcb-util-cursor-0.1.3</a>
      </p>
      <h4>
        Recommended
      </h4>
      <p class="recommended">
        <a class="xref" href="../general/fftw.html" title=
        "fftw-3.3.8">fftw-3.3.8</a>, <a class="xref" href=
        "../gnome/gsettings-desktop-schemas.html" title=
        "gsettings-desktop-schemas-3.36.0">gsettings-desktop-schemas-3.36.0</a>,
        <a class="xref" href="libdbusmenu-qt.html" title=
        "libdbusmenu-qt-0.9.3+16.04.20160218">libdbusmenu-qt-0.9.3+16.04.20160218</a>,
        <a class="xref" href="../multimedia/libcanberra.html" title=
        "libcanberra-0.30">libcanberra-0.30</a>, <a class="xref" href=
        "../x/x7driver.html#libinput" title=
        "libinput-1.15.4">libinput-1.15.4</a>, <a class="xref" href=
        "../postlfs/linux-pam.html" title=
        "Linux-PAM-1.3.1">Linux-PAM-1.3.1</a>, <a class="xref" href=
        "../general/lm_sensors.html" title=
        "lm-sensors-3-6-0">lm-sensors-3-6-0</a>, <a class="xref" href=
        "../x/oxygen-icons5.html" title=
        "oxygen-icons5-5.67.0">oxygen-icons5-5.67.0</a>, and <a class="xref"
        href="../general/pciutils.html" title=
        "pciutils-3.6.4">pciutils-3.6.4</a>
      </p>
      <h4>
        Optional
      </h4>
      <p class="optional">
        <a class="xref" href="../x/glu.html" title="GLU-9.0.1">GLU-9.0.1</a>,
        <a class="xref" href="../general/ibus.html" title=
        "ibus-1.5.22">ibus-1.5.22</a>, <a class="xref" href=
        "../x/x7driver.html#xorg-synaptics-driver" title=
        "Xorg Synaptics Driver-1.9.1">Xorg Synaptics Driver-1.9.1</a>,
        <a class="ulink" href=
        "http://distributions.freedesktop.org/wiki/AppStream">appstream-qt</a>,
        <a class="ulink" href="https://www.kdevelop.org/">KDevPlatform</a>,
        <a class="ulink" href=
        "http://www.catb.org/gpsd/libgps.html">libgps</a>, <a class="ulink"
        href="https://github.com/libhybris/libhybris">libhybris</a>,
        <a class="ulink" href=
        "http://sourceforge.net/projects/libraw1394/">libraw1394</a>,
        <a class="ulink" href=
        "https://bitbucket.org/godsme/mockcpp">mockcpp</a>, <a class="ulink"
        href=
        "https://www.freedesktop.org/software/PackageKit/releases/">packagekit-qt</a>,
        <a class="ulink" href="http://qalculate.github.io/">Qalculate</a>,
        <a class="ulink" href="https://launchpad.net/qapt">Qapt</a>,
        <a class="ulink" href="https://github.com/osiam/osiam">SCIM</a>, and
        <a class="ulink" href="http://www.dest-unreach.org/socat/">socat</a>
        (for pam_kwallet)
      </p>
      <p class="usernotes">
        User Notes: <a class="ulink" href=
        "http://wiki.linuxfromscratch.org/blfs/wiki/kf5">http://wiki.linuxfromscratch.org/blfs/wiki/kf5</a>
      </p>
      <div class="sect2" lang="en" xml:lang="en">
        <h2 class="sect2">
          Downloading KDE Plasma5
        </h2>
        <p>
          The easiest way to get the KDE Plasma5 packages is to use a single
          <span class="command"><strong>wget</strong></span> to fetch them
          all at once:
        </p>
        <pre class="userinput">
<kbd class="command">url=http://download.kde.org/stable/plasma/5.18.1/
wget -r -nH -nd -A '*.xz' -np $url</kbd>
<code class="literal">
The options used here are:
  -r            recurse through child directories
  -nH           disable generation of host-prefixed directories
  -nd           do not create a hierarchy of directories
  -A '*.xz'     just get the *.xz files
  -np           don't get parent directories</code>
</pre>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <h2 class="sect2">
          Setting Package Order
        </h2>
        <p>
          The order of building files is important due to internal
          dependencies. Create the list of files in the proper order as
          follows:
        </p>
        <pre class="userinput">
<kbd class="command">cat &gt; plasma-5.18.1.md5 &lt;&lt; "EOF"
<code class=
"literal">be7cccb3859c253740ad20eae56a1457  kdecoration-5.18.1.tar.xz
84b92ff5c7ab70537bc757122375ab3c  libkscreen-5.18.1.tar.xz
645e7d0e5167d89abfcb0011748179a8  libksysguard-5.18.1.tar.xz
0d6769306901883a9aadaaed4c199314  breeze-5.18.1.tar.xz
9c797eddc66820e119a32b3ca0e54327  breeze-gtk-5.18.1.tar.xz
2369c961fee61992bf16f8e5aabc296a  kscreenlocker-5.18.1.tar.xz
da5b0b9caca27a0b7faea3aac732e5d5  oxygen-5.18.1.tar.xz
c687fdd7a0c36a3a6d7ebd063f3aee61  kinfocenter-5.18.1.tar.xz
ae2bf8875c1b374d172267c7a0cca982  ksysguard-5.18.1.tar.xz
216b067f13f43238c7515815001fc862  kwin-5.18.1.tar.xz
97c106ec13bd9ecf87cc61e1cc29f374  plasma-workspace-5.18.1.tar.xz
8d3ea52e9b215523225e316d47469f3f  bluedevil-5.18.1.tar.xz
7c16855fe0c390a9eaa60d2f4e624736  kde-gtk-config-5.18.1.tar.xz
597ac5c22e2dc7bad5773781c4f5c563  khotkeys-5.18.1.tar.xz
cd59deb1769ed3fdcfd620f1d5e82676  kmenuedit-5.18.1.tar.xz
e957ca2f6374385e3b5598f839f843a5  kscreen-5.18.1.tar.xz
25db35f344bd12fdf6d6e54b87d4b90c  kwallet-pam-5.18.1.tar.xz
8bda1526aa7f9dbf6aa842b08cf22655  kwayland-integration-5.18.1.tar.xz
d0a29aed4ee8bcd9fce3e545f82832be  kwrited-5.18.1.tar.xz
2f4252bc1a8b07062e57d229fc3bc361  milou-5.18.1.tar.xz
8663fa971594bc70d6898e8604f8c99a  plasma-nm-5.18.1.tar.xz
0554888991a1f1f70cbbb95afa48184a  plasma-pa-5.18.1.tar.xz
25fcaf7cb52f20b3126af9baa1409e3c  plasma-workspace-wallpapers-5.18.1.tar.xz
0b88def5b87e822aa7370d91dfd07913  polkit-kde-agent-1-5.18.1.tar.xz
0326bf85fb50e15d5e78c43be9457993  powerdevil-5.18.1.tar.xz
58ec01d70d18f23a03ec2040beb506f1  plasma-desktop-5.18.1.tar.xz
9a44fb928f5dd22a695d38617660aeee  kdeplasma-addons-5.18.1.tar.xz
7200c6ebdc63dde79f64a9b2472b2d37  kgamma5-5.18.1.tar.xz
78d68fd989b451a8e75fd9278a0c1947  ksshaskpass-5.18.1.tar.xz
#4c907670bbe788499038254311f6ac0b  plasma-sdk-5.18.1.tar.xz
7533a7a459d476ece00d558d4fc9a8f7  sddm-kcm-5.18.1.tar.xz
2b2351beb674ce01cca0b58d3c8a49b2  user-manager-5.18.1.tar.xz
c76653dce9c3f9f1ac1edae6fe342ee7  discover-5.18.1.tar.xz
#ca25ee8ad60b64d19850ccba8994547c  breeze-grub-5.18.1.tar.xz
#c8377f0f2ac3109014c8062e74145def  breeze-plymouth-5.18.1.tar.xz
7b5e6cbb5d84b69745030773bea176c0  kactivitymanagerd-5.18.1.tar.xz
fa2e316a15f24c64a71c36d30b7f7585  plasma-integration-5.18.1.tar.xz
a5d8cc4a47ba59969f98be0cc5800f83  plasma-tests-5.18.1.tar.xz
#c13ae6eaa29760e67a9c17d6a1a48153  plymouth-kcm-5.18.1.tar.xz
d6e2d1a982c83a553607d46a04fcfff7  xdg-desktop-portal-kde-5.18.1.tar.xz
5b7bf736b767d40d77a4c51bca9708e0  drkonqi-5.18.1.tar.xz
1ccf74eb8b851b1dba87f2cd3ed54052  plasma-vault-5.18.1.tar.xz
a0f85c77e48c35a17cc326491155249e  plasma-browser-integration-5.18.1.tar.xz
7d73463b9115234991a631dc6741bab4  kde-cli-tools-5.18.1.tar.xz
d420ca0680c67496b8572b143aae1dc9  systemsettings-5.18.1.tar.xz
a2ae6b65f5ae2df57cfb29bf8ae56eda  plasma-thunderbolt-5.18.1.tar.xz
#3df1a7d13f5cce484ce8fb684c1c0015  plasma-nano-5.18.1.tar.xz
#498e4c99016d51bc44abdb8416e7dba2  plasma-phone-components-5.18.1.tar.xz</code>
EOF</kbd>
</pre>
        <div class="admon note">
          <img alt="[Note]" src="../images/note.png" />
          <h3>
            Note
          </h3>
          <p>
            The breeze-grub, breeze-plymouth, and plymouth-kcm packages above
            are all for customized support of <a class="ulink" href=
            "https://www.freedesktop.org/wiki/Software/Plymouth/">Plymouth</a>
            which is designed to be run within an initial ram disk during
            boot (see <a class="xref" href="../postlfs/initramfs.html" title=
            "About initramfs">the section called &ldquo;About
            initramfs&rdquo;</a>). The plasma-sdk package is optional and
            used for software development. The plasma-nano package is used
            for embedded systems and plasma-phone-components provides phone
            functionality for Plasma.
          </p>
        </div>
      </div>
      <div class="installation" lang="en" xml:lang="en">
        <h2 class="sect2">
          Installation of Plasma5
        </h2>
        <div class="admon note">
          <img alt="[Note]" src="../images/note.png" />
          <h3>
            Note
          </h3>
          <p>
            When installing multiple packages in a script, the installation
            needs to be done as the root user. There are three general
            options that can be used to do this:
          </p>
          <div class="orderedlist">
            <ol>
              <li class="listitem">
                <p>
                  Run the entire script as the root user (not recommended).
                </p>
              </li>
              <li class="listitem">
                <p>
                  Use the <span class="command"><strong>sudo</strong></span>
                  command from the <a class="xref" href=
                  "../postlfs/sudo.html" title=
                  "Sudo-1.8.31p1">Sudo-1.8.31p1</a> package.
                </p>
              </li>
              <li class="listitem">
                <p>
                  Use <span class="command"><strong>su -c "command
                  arguments"</strong></span> (quotes required) which will ask
                  for the root password for every iteration of the loop.
                </p>
              </li>
            </ol>
          </div>
          <p>
            One way to handle this situation is to create a short
            <span class="command"><strong>bash</strong></span> function that
            automatically selects the appropriate method. Once the command is
            set in the environment, it does not need to be set again.
          </p>
          <pre class="userinput">
<kbd class="command">as_root()
{
  if   [ $EUID = 0 ];        then $*
  elif [ -x /usr/bin/sudo ]; then sudo $*
  else                            su -c \\"$*\\"
  fi
}

export -f as_root</kbd>
</pre>
        </div>
        <p>
          First, start a subshell that will exit on error:
        </p>
        <pre class="userinput">
<kbd class="command">bash -e</kbd>
</pre>
        <p>
          Install all of the packages by running the following commands:
        </p>
        <pre class="userinput">
<kbd class="command">while read -r line; do

    # Get the file name, ignoring comments and blank lines
    if $(echo $line | grep -E -q '^ *$|^#' ); then continue; fi
    file=$(echo $line | cut -d" " -f2)

    pkg=$(echo $file|sed 's|^.*/||')          # Remove directory
    packagedir=$(echo $pkg|sed 's|\.tar.*||') # Package directory

    tar -xf $file
    pushd $packagedir

       # Fix some build issues when generating some configuration files
       case $name in
         plasma-workspace)
           sed -i '/set.HAVE_X11/a set(X11_FOUND 1)' CMakeLists.txt
         ;;
      
         khotkeys)
           sed -i '/X11Extras/a set(X11_FOUND 1)' CMakeLists.txt
         ;;
      
         plasma-desktop)
           sed -i '/X11.h)/i set(X11_FOUND 1)' CMakeLists.txt
         ;;
       esac

       mkdir build
       cd    build

       cmake -DCMAKE_INSTALL_PREFIX=$KF5_PREFIX \
             -DCMAKE_BUILD_TYPE=Release         \
             -DBUILD_TESTING=OFF                \
             -Wno-dev ..  &amp;&amp;

        make
        as_root make install
    popd


    as_root rm -rf $packagedir
    as_root /sbin/ldconfig

done &lt; plasma-5.18.1.md5

exit</kbd>
</pre>
        <p>
          If you did not set <code class="envar">$KF5_PREFIX</code> to
          <code class="filename">/usr</code>, create symlinks to allow
          display managers to find <span class="application">Plasma</span>:
        </p>
        <pre class="userinput">
<kbd class=
"command">as_root install -dvm 755 /usr/share/xsessions              &amp;&amp;
cd /usr/share/xsessions/                                   &amp;&amp;
[ -e plasma.desktop ]                                      ||
as_root ln -sfv $KF5_PREFIX/share/xsessions/plasma.desktop &amp;&amp;
as_root install -dvm 755 /usr/share/wayland-sessions       &amp;&amp;
cd /usr/share/wayland-sessions/                            &amp;&amp;
[ -e plasmawayland.desktop ]                               ||
as_root ln -sfv $KF5_PREFIX/share/wayland-sessions/plasmawayland.desktop</kbd>
</pre>
      </div>
      <div class="configuration" lang="en" xml:lang="en">
        <h2 class="sect2">
          Configuring Plasma
        </h2>
        <div class="sect3" lang="en" xml:lang="en">
          <h3 class="sect3"></h3>
          <h4 class="title">
            <a id="idm140006427641680" name="idm140006427641680"></a>Linux
            PAM Configuration
          </h4>
          <p>
            If you built Plasma with the recommended <span class=
            "application">Linux PAM</span> support, create necessary
            configuration files by running the following commands as the
            <code class="systemitem">root</code> user:
          </p>
          <pre class="root">
<kbd class="command">cat &gt; /etc/pam.d/kde &lt;&lt; "EOF" 
<code class="literal"># Begin /etc/pam.d/kde

auth     requisite      pam_nologin.so
auth     required       pam_env.so

auth     required       pam_succeed_if.so uid &gt;= 1000 quiet
auth     include        system-auth

account  include        system-account
password include        system-password
session  include        system-session

# End /etc/pam.d/kde</code>
EOF

cat &gt; /etc/pam.d/kde-np &lt;&lt; "EOF" 
<code class="literal"># Begin /etc/pam.d/kde-np

auth     requisite      pam_nologin.so
auth     required       pam_env.so

auth     required       pam_succeed_if.so uid &gt;= 1000 quiet
auth     required       pam_permit.so

account  include        system-account
password include        system-password
session  include        system-session

# End /etc/pam.d/kde-np</code>
EOF

cat &gt; /etc/pam.d/kscreensaver &lt;&lt; "EOF"
<code class="literal"># Begin /etc/pam.d/kscreensaver

auth    include system-auth
account include system-account

# End /etc/pam.d/kscreensaver</code>
EOF</kbd>
</pre>
        </div>
      </div>
      <div class="starting" lang="en" xml:lang="en">
        <h2 class="sect2">
          Starting Plasma5
        </h2>
        <p>
          You can start <span class="application">Plasma5</span> from
          runlevel 3, using <a class="xref" href="../x/xinit.html" title=
          "xinit-1.4.1">xinit-1.4.1</a>, or from runlevel 5, using a Display
          Manager, such as <a class="xref" href="../x/lightdm.html" title=
          "lightdm-1.30.0">lightdm-1.30.0</a>.
        </p>
        <p>
          To start <span class="application">Plasma 5</span> using <a class=
          "xref" href="../x/xinit.html" title="xinit-1.4.1">xinit-1.4.1</a>,
          run the following commands:
        </p>
        <pre class="userinput">
<kbd class="command">cat &gt; ~/.xinitrc &lt;&lt; "EOF"
<code class=
"literal">dbus-launch --exit-with-session $KF5_PREFIX/bin/startplasma-x11</code>
EOF

startx</kbd>
</pre>
        <p>
          The X session starts on the first unused virtual terminal, normally
          vt7. You can switch to another vt<span class=
          "emphasis"><em>n</em></span> simultaneously pressing the keys
          Ctrl-Alt-F<span class="emphasis"><em>n</em></span> (<span class=
          "emphasis"><em>n</em></span>=1, 2, ...). To switch back to the X
          session, normally started at vt7, use Ctrl-Alt-F7. The vt where the
          command <span class="command"><strong>startx</strong></span> was
          executed will display many messages, including X starting messages,
          applications automatically started with the session, and
          eventually, some warning and error messages. You may prefer to
          redirect those messages to a log file, which not only will keep the
          initial vt uncluttered, but can also be used for debugging
          purposes. This can be done starting X with:
        </p>
        <pre class="userinput">
<kbd class="command">startx &amp;&gt; ~/x-session-errors</kbd>
</pre>
        <p>
          When shutting down or rebooting, the shutdown messages appear on
          the vt where X was running. If you wish to see those messages,
          simultaneously press keys Alt-F7 (assuming that X was running on
          vt7).
        </p>
        <p>
          If you intend to start <span class="application">Plasma</span>
          using a display manager such as <a class="xref" href=
          "../x/lightdm.html" title="lightdm-1.30.0">lightdm-1.30.0</a>,
          there will be two entries for <span class=
          "application">Plasma</span>, one for use with <span class=
          "application">Xorg</span>, and another for <span class=
          "application">Wayland</span>. Modify the <span class=
          "application">Xorg</span> entry with the following command, as the
          <code class="systemitem">root</code> user, so that you can
          differentiate between the two:
        </p>
        <pre class="root">
<kbd class=
"command">sed '/^Name=/s/Plasma/Plasma on Xorg/' -i /usr/share/xsessions/plasma.desktop</kbd>
</pre>
      </div>
      <div class="content" lang="en" xml:lang="en">
        <h2 class="sect2">
          Contents
        </h2>
        <div class="segmentedlist">
          <div class="seglistitem">
            <div class="seg">
              <strong class="segtitle">Installed Programs:</strong>
              <span class="segbody">There are too many plasma programs (50 in
              /opt/kf5/bin) to list separately here.</span>
            </div>
            <div class="seg">
              <strong class="segtitle">Installed Libraries:</strong>
              <span class="segbody">There are too many plasma libraries (39
              in /opt/kf5/lib) to list separately here.</span>
            </div>
            <div class="seg">
              <strong class="segtitle">Installed Directories:</strong>
              <span class="segbody">There are too many plasma directories
              (over 1000 in /opt/kf5) to list separately here.</span>
            </div>
          </div>
        </div>
      </div>
      <p class="updated">
        Last updated on 2015-09-24 16:44:04 -0500
      </p>
    </div>
    <div class="navfooter">
      <ul>
        <li class="prev">
          <a accesskey="p" href="plasma5.html" title="KDE Plasma 5">Prev</a>
          <p>
            KDE Plasma 5
          </p>
        </li>
        <li class="next">
          <a accesskey="n" href="../gnome/gnome.html" title="GNOME">Next</a>
          <p>
            GNOME
          </p>
        </li>
        <li class="up">
          <a accesskey="u" href="plasma5.html" title=
          "Chapter&nbsp;32.&nbsp;KDE Plasma 5">Up</a>
        </li>
        <li class="home">
          <a accesskey="h" href="../index.html" title=
          "Beyond Linux� From Scratch     (System V Edition) - Version 2020-04-02">
          Home</a>
        </li>
      </ul>
    </div>
  </body>
</html>
